The present invention relates to a motor control system for controlling the position and/or the speed of a load which is driven by the motor.
Various motors are used for carrying out positioning and speed control of automatic machines. A control system for such types of motors is generally configured as shown in FIGS. 1 and 2 for controlling the speed and the position of the motors, respectively.
In FIGS. 1 and 2, reference numeral 1 denotes a motor; numeral 2 denotes an encoder for providing pulses in proportion to the rotational amount of said motor, 3 speed instructing means for providing a speed instruction for said motor, 4 speed control means for outputting a PWM signal which calculates a rotational speed of the motor based on the pulse signal from said encoder and calculates a voltage to be applied to the motor so that the rotational speed of the motor will follow said speed instruction, 5 driver means for supplying electric power to said motor by amplifying said PWM signal, 7 a position instruction means for providing a position instruction for the motor, and 8 a position control means which detects the rotational position of the motor based on the pulse signal from the encoder and calculates a speed instruction value for the speed control means 4 so that the rotational position of the motor will follow the position instruction for outputting a speed instruction signal. Since the system for controlling the position shown in FIG. 2 is identical with the system shown in FIG. 1 except that the speed instructing means 3 in FIG. 1 is replaced with the position instruction means 7 and the position control means 8, description of the system in FIG. 2 will be omitted and only the motor control system for controlling the speed will be described.
In FIG. 1, the speed control means 4 may comprise an analog circuit or alternatively may comprise a digital circuit. If it comprises a digital circuit, it may be formed as is disclosed in, for example, "SYSTEM AND CONTROL" Vol. 26, No. 11, pp. 695 through 703, 1983. FIG. 3 shows a block diagram of the speed control system which comprises a digital circuit.
In the block diagram of FIG. 3, a part which is encircled by a broken line represents the block diagram of the motor. A reference Kt denotes an induction voltage constant, a reference Ke denotes a torque constant, J a moment of inertia of the motor and a load, and R and J denote resistance and inductance of a winding of the motor, respectively. A method of detecting the speed is classified into two methods. One method includes calculating the speed based on the number of the pulses from the encoder counted in a predetermined sampling time and the other method includes calculating the speed based upon an inverse of the cycle of pulses from the encoder which is counted with a reference clock signal. Both methods can be used for the present invention. The speed which is calculated as mentioned above is multiplied with the constant Kf. The multiplied value is compared to the instruction speed. A value which is obtained by multiplying a speed deviation therebetween with a constant Kp is added with a value which is obtained by multiplying an integrated speed deviation with a constant Ki. Thus the obtained value has subtracted therefrom a value which is obtained by multiplying a change in the detected speed with a constant Kd. An output value of the PWM signal is calculated by multiplying the result with a constant Kv. It is to be understood herein that the PWM signal is identical with the voltage which is applied to the motor 1. Kf, Kp, Ki, Kd, and Kv denote control constants. The output value of the PWM signal is calculated by an equation as follows: EQU Vp=(Kp.times.E+Ki.times.I-Kd.times.D).times.Kv
wherein E denotes a difference between the speed instruction and the detected speed;
I denotes a value which is obtained by integrating a speed deviation E with an integration term; and PA1 D denotes a value which is obtained by differentiating the detected speed with an acceleration.
However, since the whole system, including the motor and the load, has a non-linearity as shown in FIG. 4, there is a problem that the aforementioned method will readily causes oscillations on servo-locking or stopping of the motor. There is also a problem that a time lag will readily occur on starting-up of the motor since the result of the operation of the PWM output value will not quickly reach a voltage at which a motor will begin to rotate.